"""
示例05 - 安全删除MySQL数据库

本示例展示如何安全删除MySQL数据库，包含创建测试数据库、调用删除方法、验证删除结果的完整流程。
"""
import asyncio
import time
import ygg_aiomysql as aiomysql

async def main():
    """
    主函数，演示安全删除数据库的完整流程
    """
    # 使用时间戳生成唯一数据库名
    test_db_name = f"test_db_{int(time.time())}"

    # 创建临时连接池
    pool = await aiomysql.new_pool(password="zhangdapeng520")

    # 1. 先创建测试数据库
    print(f"创建测试数据库: {test_db_name}")
    await aiomysql.add_database(pool, test_db_name)
    
    # 2. 调用删除方法
    print(f"正在删除数据库: {test_db_name}")
    await aiomysql.delete_database(pool, test_db_name)

    # 3. 验证数据库已删除
    async with pool.acquire() as conn:
        async with conn.cursor() as cur:
            await cur.execute("SHOW DATABASES")
            databases = [db[0] for db in await cur.fetchall()]
            if test_db_name not in databases:
                print(f"验证成功: 数据库 {test_db_name} 已被删除")
            else:
                print(f"验证失败: 数据库 {test_db_name} 仍然存在")

    # 关闭连接池
    pool.close()
    await pool.wait_closed()

if __name__ == "__main__":
    asyncio.run(main())